/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ReglasNegocio;
import AccesoDatos.*;
import java.util.Date;
/**
 *
 * @author dani
 */
public class Corte extends ObjReglaNegocioBase{
    private String id;
    private double arroba;
    private Finca finca;
    private Mozo mozo;
    
    public Corte(Dato id) {
        super(id);
        this.id=this.campo.get(0).getValor();
    }
    public Corte() {}
    
    public void setFinca(Finca finca) {
        this.finca=finca;
    }
    
    public Finca getFinca() {
        return this.finca;
    }
    
    public Mozo getMozo() {
        return this.mozo;
    }
    
    public void setMozo(Mozo mozo) {
        this.mozo=mozo;
    }
    
    public double getArroba() {
        return this.arroba;
    }
    
    public void setArroba(double arroba) {
        this.arroba=arroba;
    }
    
    @Override
    public int Crear() {
        Dato[] datos=new Dato[4];
        datos[0]=new Dato("arroba",String.valueOf(this.arroba));
        datos[1]=new Dato("fkfinca",this.finca.getIdentificador().getValor());
        datos[2]=new Dato("fkmozo",this.mozo.getIdentificador().getValor());
        Date hoy=new Date();
        datos[3]=new Dato("fecha",(hoy.getYear()+1900)+"-"+(hoy.getMonth()+1)+"-"+hoy.getDate());
        return this.conn.Agregar(datos, this.getNombreObjeto());
    }
    
    @Override
    protected Boolean asignarCampos() {
        String consulta="select * from "+this.getNombreObjeto().toLowerCase();
        consulta+=" where id='"+this.getIdentificador().getValor()+"'";
        
        Vista v=this.conn.crearVista(consulta);
        this.finca=new Finca(new Dato("id",String.valueOf((Long) v.getRegistro(0, 3))));
        this.mozo=new Mozo(new Dato("id",String.valueOf((Long) v.getRegistro(0, 2))));
        this.arroba=(Double) v.getRegistro(0, 1);        
        return true;
        
    }
    
    @Override
    public void Actualizar() {
        String actualizar="update "+this.getNombreObjeto();
        actualizar+=" set ";
        actualizar+="fkfinca='"+this.finca.getIdentificador().getValor()+"',";
        actualizar+="fkmozo='"+this.mozo.getIdentificador().getValor()+"' ";
        actualizar+="where "+this.getIdentificador().getNombre()+"=";
        actualizar+="'"+this.getIdentificador().getValor()+"'";
        
        this.conn.ejecutarActualizacion(actualizar);
        this.asignarCampos();
    }
}
